#include "tree.h"


tree* CreateTree(int n,int i)
{
    tree* rootnew=(tree*)malloc(sizeof(tree));
    rootnew->id=i;

    if(2*i<=n){
        rootnew->lchild=CreateTree(n,2*i);
    }else{
        rootnew->lchild=NULL;
    }

    if(2*i+1<=n){
        rootnew->rchild=CreateTree(n,2*i+1);
    }else{
        rootnew->rchild=NULL;
    }

    return rootnew;

}

void TreePreOrder(tree* root)
{
    if(root==NULL)return ;
    printf("%d ",root->id);
    TreePreOrder(root->lchild);
    TreePreOrder(root->rchild);
}

void TreeInOrder(tree* root)
{
    if(root==NULL)return ;
    TreePreOrder(root->lchild);
    printf("%d ",root->id);
    TreePreOrder(root->rchild);
}

void TreePostOrder(tree* root)
{
    if(root==NULL)return ;
    TreePreOrder(root->lchild);
    TreePreOrder(root->rchild);
    printf("%d ",root->id);
}